package org.jeecg.modules.third.jg.report.information.model;

import lombok.Data;

import java.io.Serializable;

@Data
public class ExchangeModel implements Serializable {
    private static final long serialVersionUID = 392365881428311040L;

    private Root root;
    

    public Root getRoot() {
		return root;
	}


	public void setRoot(Root root) {
		this.root = root;
	}


	@Data
    public static class Root implements Serializable{
        private Header header;
        private Body body;
		public Header getHeader() {
			return header;
		}
		public void setHeader(Header header) {
			this.header = header;
		}
		public Body getBody() {
			return body;
		}
		public void setBody(Body body) {
			this.body = body;
		}
        
        
    }

    @Data
    public static class Header implements Serializable {

        //报文参考号  报文的唯一标识符，由系统按GUID规则自动产生。
        private String messageReferenceNumber;

        //报文名称  报文中文名称：电子运单、资金流水单、车辆信息单、驾驶员信息单。
        private String documentName;

        //报文版本号
        private String documentVersionNumber;

        //发送方代码  省监测系统交换代码/网络货运经营者交换代码（过渡期内）
        private String senderCode;

        //企业代码，即企业在省平台的用户代码。
        private String enterpriseSenderCode;

        //报文发送的日期时间。YYYYMMDDhhmmss
        private String messageSendingDateTime;

        //业务接口代码
        private String ipcType;

        //令牌
        private String token;
		//物流交换  必填，系统接入分配的交换代码
		private String userId;

		public String getUserId() {
			return userId;
		}

		public void setUserId(String userId) {
			this.userId = userId;
		}

		public String getMessageReferenceNumber() {
			return messageReferenceNumber;
		}

		public void setMessageReferenceNumber(String messageReferenceNumber) {
			this.messageReferenceNumber = messageReferenceNumber;
		}

		public String getDocumentName() {
			return documentName;
		}

		public void setDocumentName(String documentName) {
			this.documentName = documentName;
		}

		public String getDocumentVersionNumber() {
			return documentVersionNumber;
		}

		public void setDocumentVersionNumber(String documentVersionNumber) {
			this.documentVersionNumber = documentVersionNumber;
		}

		public String getSenderCode() {
			return senderCode;
		}

		public void setSenderCode(String senderCode) {
			this.senderCode = senderCode;
		}

		public String getEnterpriseSenderCode() {
			return enterpriseSenderCode;
		}

		public void setEnterpriseSenderCode(String enterpriseSenderCode) {
			this.enterpriseSenderCode = enterpriseSenderCode;
		}

		public String getMessageSendingDateTime() {
			return messageSendingDateTime;
		}

		public void setMessageSendingDateTime(String messageSendingDateTime) {
			this.messageSendingDateTime = messageSendingDateTime;
		}

		public String getIpcType() {
			return ipcType;
		}

		public void setIpcType(String ipcType) {
			this.ipcType = ipcType;
		}

		public String getToken() {
			return token;
		}

		public void setToken(String token) {
			this.token = token;
		}
        
        
    }

    
    @Data
    public static class Body implements Serializable {
        //国密SM2加密随机生成KEY后的加密字符串
        private String encryptedCode;
        //国密SM4通过随机生成的KEY加密业务报文后生成的加密字符串
        private String encryptedContent;
		public String getEncryptedCode() {
			return encryptedCode;
		}
		public void setEncryptedCode(String encryptedCode) {
			this.encryptedCode = encryptedCode;
		}
		public String getEncryptedContent() {
			return encryptedContent;
		}
		public void setEncryptedContent(String encryptedContent) {
			this.encryptedContent = encryptedContent;
		}

        
    }
}




